--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Graphics;
+
+namespace SuperPolarity
+{
+ class Bullet : Actor
+ {
+ protected ParticleEngine particleEngine;
+
+ public Bullet(Game newGame)
+ : base(newGame)
+ {
+ }
+
+ ~Bullet()
+ {
+ particleEngine = null;
+ }
+
+ public override void Initialize(Texture2D texture, Vector2 position)
+ {
+ base.Initialize(texture, position);
+ particleEngine = ParticleEffectFactory.CreateBullet(position);
+ }
+
+ public override void Update(GameTime gameTime)
+ {
+ Velocity.X = (float)(MaxVelocity * Math.Cos(Angle));
+ Velocity.Y = (float)(MaxVelocity * Math.Sin(Angle));
+
+ Position += Velocity;
+
+ particleEngine.Update();
+ particleEngine.EmitterLocation = Position;
+ }
+
+ public override void Draw(SpriteBatch spriteBatch)
+ {
+ base.Draw(spriteBatch);
+ particleEngine.Draw(spriteBatch);
+ }
+ }
+}